#pragma once
#include "pch.h"
#include "Common.h"
#include "FilterPipeSystem.h"
#include <QObject>
#include <QThread>
#include <QMetatype>

namespace AutomatedSurfaceReconstruction
{
	class CExecFilterPipe :public QObject
	{
		Q_OBJECT

	public:
		explicit CExecFilterPipe(QObject* vParent = nullptr);

	signals:
		void ReconstructOneMesh(std::string vMeshPath);
		void resultReady();

	public slots:
		void execFilterPipe(std::unordered_map<std::string, std::pair<CGALPointSetType, CGALPointSetType>> vPointCloud2RoadData);

	private:
		AutomatedSurfaceReconstruction::CFilterPipeSystem m_System;
	};
}